<?php

require_once "../com/dtos/Pendiente.php";
include("../DB.php");
//conection info
class Pendientes {

    public function getListaConFiltro($cliente) {
    	if ($cliente == -1) {
    		$query = "SELECT * from PND_PENDIENTES WHERE PNDACTIVO = TRUE" ;
    	}else{
    		$query = "SELECT * from PND_PENDIENTES WHERE CLNPK = $cliente AND PNDACTIVO = TRUE" ;
    	}
        $result = mysql_query($query);
        $pendiente = null;
        $out = array();
        while ($row = mysql_fetch_assoc($result)) {
	        $pendiente = new Pendiente();
	    	$pendiente->pk=$row['PNDPK'];
	    	$pendiente->descripcion = $row['PNDDESCRIPCION'];
	    	$pendiente->departamento = $row['PNDDEPARTAMENTO'];
	    	$pendiente->prioridad = $row['PNDPRIORIDAD'];
	    	$pendiente->status = $row['PNDSTATUS'];
	    	$pendiente->fecha = $row['PNDFECHA'];
	    	$pendiente->observaciones = $row['PNDOBSERVACIONES'];
	    	$pendiente->tipo = $row['PNDTIPO'];
			$out[] = $pendiente;
        }
    	return $out;
    }

    public function nuevo($llegada){
		$pendiente = (object) $llegada;
    	$query = "INSERT INTO PND_PENDIENTES (PNDDESCRIPCION, PNDDEPARTAMENTO, PNDPRIORIDAD, PNDSTATUS, PNDFECHA, PNDOBSERVACIONES, CLNPK, PNDTIPO) ".
				 "VALUES ('$pendiente->descripcion', " .
				 "'$pendiente->departamento', " .
    			 "$pendiente->prioridad," .
    			 "'$pendiente->status'," .
    			 "'$pendiente->fecha'," .
    			 "'$pendiente->observaciones'," .
    			 "$pendiente->clnPk," .
    			 "'$pendiente->tipo') ";
    	mysql_query($query);
    	if (mysql_affected_rows() == 1){
    		return ;
    	}else{
    		throw new exception("Error al agregar\n".mysql_error()."\n".$query);
    		//throw new exception($query);
    	}
    }

    public function borrar($pk){
    	$query = "UPDATE PND_PENDIENTES SET " .
    			"PNDACTIVO = false " .
    			"WHERE PNDPK = $pk";
    	mysql_query($query);
    	if (mysql_affected_rows() == 1){
    		return ;
    	}else{
    		throw new exception("Error al borrar\n".mysql_error());
    	}
    }

    public function consultar($pk) {
		$query = "SELECT * from PND_PENDIENTES where PNDPK = '$pk' AND PNDACTIVO = TRUE";
        $result = mysql_query($query);
        $pendiente = null;
        if (mysql_num_rows($result) > 0){
        	$row = mysql_fetch_array($result);
	        $pendiente = new Pendiente();
	    	$pendiente->pk=$row['PNDPK'];
	    	$pendiente->descripcion = $row['PNDDESCRIPCION'];
	    	$pendiente->departamento = $row['PNDDEPARTAMENTO'];
	    	$pendiente->prioridad = $row['PNDPRIORIDAD'];
	    	$pendiente->status = $row['PNDSTATUS'];
	    	$pendiente->fecha = $row['PNDFECHA'];
	    	$pendiente->observaciones = $row['PNDOBSERVACIONES'];
	    	$pendiente->tipo = $row['PNDTIPO'];
        }else{
        	throw new Exception("Pendiente no válido");
        }
    	return $pendiente;
    }

    public function edit($llegada){
		$pendiente = (object) $llegada;
    	$query = "UPDATE PND_PENDIENTES SET " .
    			"PNDDESCRIPCION = '$pendiente->descripcion', " .
    			"PNDDEPARTAMENTO = '$pendiente->departamento', " .
		    	"PNDPRIORIDAD = $pendiente->prioridad, " .
		    	"PNDSTATUS = '$pendiente->status', " .
		    	"PNDFECHA = '$pendiente->fecha', " .
		    	"PNDOBSERVACIONES = '$pendiente->observaciones', ".
		    	"PNDTIPO = '$pendiente->tipo' ".
		    	"WHERE PNDPK = $pendiente->pk";
    	mysql_query($query);
    	if (mysql_affected_rows() == 1){
    		return ;
    	}else{
    		throw new exception("Error al editar\n".mysql_error());
    		//throw new exception($query);
    	}
    }
}
?>